
import { MongooseFactory } from "../kalend";
import { Schema } from "mongoose";

/** 订单表 */
const schema = MongooseFactory.Schema({
    code: {
        type: String,
        required: true
    },
    openid: {
        type: String
    },
    // 酒币消费数量
    conins: {
        type: Number,
        default: 0
    },
    // 实际酒水消费数量
    coninscount: {
        type: Number,
        default: 0
    },
    // 餐币消费数量
    meal: {
        type: Number,
        default: 0
    },
    // 实际支付金额
    money: {
        type: Number,
        default: 0
    },
    // 消费人数
    person: {
        type: Number,
        default: 0
    },
    // 餐饮消费金额(含餐币)
    mealmoney: {
        type: Number,
        default: 0
    },
    // 酒水支付金额
    winemoney: {
        type: Number,
        default: 0
    },
    // 佣金比例
    rate: {
        type: Number,
        default: 0
    },
    // 抽取佣金额（不含餐币抽佣）
    ratemoney: {
        type: Number,
        default: 0
    },
    // 餐币抽佣
    ratemeal: {
        type: Number,
        default: 0 
    },
    //奖励比例
    agentrate: {
        type: Number,
        default: 0
    },
    //品牌大使奖励金额
    agentreward: {
        type: Number,
        default: 0
    },
    winelist: [{
        type: Schema.Types.Mixed
    }],
    // 微信支付金额/分
    total_fee: {
        type: Number
    },
    // 商户
    merchantid: {
        type: Schema.Types.ObjectId,
        ref: "merchant"
    },
    // 用户
    customerid: {
        type: Schema.Types.ObjectId,
        ref: "customer_account"
    },
    // 支付方式
    paytype: {
        type: String,
        default: '微信'
    },
    // 支付状态 0:未支付 1:已支付(支付成功) 2:已关闭 3:已撤销 4:用户支付中 9:支付失败 
    paystatus: {
        type: Number,
        default: 0
    },
    //订单类型 
    ordertype: {
        type: String,
        default: '买单',
        enum: ['买单', '升级会员', '升级白金会员', '升级钻石会员']
    },
    // 微信订单id
    wxorderid: {
        type: String
    },
    // 订单完成时间
    time_end: {
        type: String
    },
    order_info: {
        type: Schema.Types.Mixed
    },
    // 是否支付成功后新增
    isaddnew: {
        type: Boolean,
        default: false
    }
});



export const customer_orderModel = MongooseFactory.Model("customer_order", schema);